.pe-input {
    --pe-input-height: var(--pe-default-height);
    --pe-input-border-color: var(--pe-color-border);
    --pe-input-hover-border-color: var(--pe-color-primary);
    --pe-input-font-size: var(--pe-font-size-default);
    --pe-input-padding: var(--pe-padding-default)
}

.pe-input {
    position: relative;
    width: 100%;
    height: var(--pe-input-height);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    overflow: hidden;
    border: 1px solid var(--pe-input-border-color);
    border-radius: var(--pe-border-radius);
    transition: var(--pe-border-transition);
    &:hover {
        border-color: var(--pe-input-hover-border-color)
    }
    &:hover .pe-input-slot {
        border-color: var(--pe-input-hover-border-color)
    }
}

.pe-input-wrapper {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: var(--pe-input-padding);
    background-color: var(--pe-color-white);
    cursor: text;

    .pe-input-inner {
        width: 100%;
        display: inline-flex;
        height: 100%;
        outline: none;
        border: none;
        font-size: var(--pe-input-font-size);
        color: var(--pe-color-text);
        padding: 1px 5px;
    }

    .pe-input-icon {
        display: inline-flex;
        align-items: center;
        height: 100%;
        text-align: center;
        color: var(--pe-color-placeholder);
        width: var(--pe-input-font-size);
        .pe-icon {
            width: var(--pe-input-font-size);
            height: var(--pe-input-font-size);
        }

        .pe-input-clearable {
            cursor: pointer;
        }
    }

    .pe-input-count {
        color: var(--pe-color-placeholder);
        margin-right: 5px;
        font-size: var(--pe-input-font-size);
    }
}

.pe-input-slot {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 0 10px;
    background-color: var(--pe-color-white);
    transition: var(--pe-border-transition);
    color: var(--pe-color-text);
}

.pe-input-prefix-slot {
    border-right: 1px solid var(--pe-input-border-color);
}

.pe-input-suffix-slot {
    border-left: 1px solid var(--pe-input-border-color);
}

.pe-input-large {
    --pe-input-height: var(--pe-large-height);
    --pe-input-font-size: var(--pe-font-size-large);
    --pe-input-padding: var(--pe-padding-large);
}

.pe-input-small {
    --pe-input-height: var(--pe-small-height);
    --pe-input-font-size: var(--pe-font-size-small);
    --pe-input-padding: var(--pe-padding-small);
}

.show-password {
    cursor: pointer;
}